<template>
  <div class="policy-page">
    <!-- 顶部横幅 -->
    <div class="policy-banner">
      <div class="banner-content">
        <h1>隐私政策</h1>
        <p>最后更新时间: 2024-03-15</p>
      </div>
      <div class="banner-decoration">
        <div class="decoration-circle"></div>
        <div class="decoration-line"></div>
      </div>
    </div>

    <!-- 主要内容 -->
    <div class="policy-content">
      <div class="content-nav">
        <div class="nav-item" v-for="(section, index) in sections" 
             :key="index"
             :class="{ active: currentSection === index }"
             @click="scrollToSection(index)">
          {{ section.title }}
        </div>
      </div>

      <div class="content-main">
        <div v-for="(section, index) in sections" 
             :key="index" 
             :id="'section-' + index"
             class="content-section">
          <h2>{{ section.title }}</h2>
          <div class="section-content" v-html="section.content"></div>
        </div>
      </div>

      <div class="content-sidebar">
        <div class="quick-actions">
          <button @click="downloadPDF">
            <i class="fas fa-download"></i>
            下载PDF版本
          </button>
          <button @click="printPolicy">
            <i class="fas fa-print"></i>
            打印文档
          </button>
        </div>
        <div class="last-update">
          <i class="fas fa-history"></i>
          上次更新: 2024-03-15
        </div>
      </div>
    </div>
  </div>
</template>

<script>
import html2pdf from 'html2pdf.js';

export default {
  name: 'PrivacyPolicy',
  
  data() {
    return {
      currentSection: 0,
      sections: [
        {
          title: '1. 引言',
          content: `
            <p>欢迎使用E特尔诺API服务平台（以下简称"本平台"）。本隐私政策旨在帮助您了解我们如何收集、使用、存储和保护您的个人信息，以及您享有的相关权利。在使用本平台服务之前，请您仔细阅读并充分理解本隐私政策的全部内容。</p>
            
            <p>我们深知个人信息对您的重要性，并会尽全力保护您的个人信息安全。我们致力于维持您对我们的信任，恪守以下原则，保护您的个人信息：权责一致原则、目的明确原则、选择同意原则、最少够用原则、确保安全原则、主体参与原则、公开透明原则等。同时，我们承诺，我们将按业界成熟的安全标准，采取相应的安全保护措施来保护您的个人信息。</p>
            
            <p>请注意，本隐私政策适用于您通过本平台提供的所有服务，包括但不限于API调用、数据处理、技术支持等服务。如果您不同意本隐私政策的任何内容，您应立即停止使用本平台的服务。当您使用本平台的服务时，即表示您同意本隐私政策的全部内容。</p>`
        },
        {
          title: '2. 信息收集与使用',
          content: `
            <h3>2.1 我们收集的信息</h3>
            <p><strong>（1）账户信息</strong></p>
            <p>在您注册和使用本平台的过程中，我们需要收集您的一些基本信息以便为您提供服务。这些信息包括您的用户名、电子邮件地址和密码。对于企业用户，我们可能还需要收集公司名称、营业执照信息、法定代表人信息等必要的企业资质证明。此外，为了确保服务的正常开展，我们可能需要您提供联系人姓名、联系电话、通讯地址等信息。在您选择某些增值服务时，可能还需要收集必要的支付信息，如银行账户信息或第三方支付平台的关联账号。</p>

            <p><strong>（2）服务使用信息</strong></p>
            <p>为了向您提供更好的服务体验并不断改进我们的服务质量，我们会收集您在使用平台服务过程中产生的相关信息。这包括您的API调用记录，如每次调用的具体时间、调用的接口类型、传入的参数信息（不包含具体业务数据）、调用的频率等技术指标。我们也会收集服务性能相关的数据，如接口的响应时间、成功率、错误率等质量指标。此外，我们还会收集必要的系统日志信息，包括但不限于系统运行状态、异常信息、性能监控数据等。这些信息对于保障服务质量、排查技术问题和优化用户体验至关重要。</p>

            <p><strong>（3）设备和技术信息</strong></p>
            <p>在您访问和使用我们的平台时，我们会自动收集一些设备和技术相关的信息。这包括您使用的设备类型、操作系统版本、浏览器类型及版本、设备识别符、IP地址等基本技术信息。我们也会收集您的网络连接信息，如网络类型、运营商信息、网络质量数据等。这些信息有助于我们优化服务性能，提供更稳定和安全的服务。同时，我们也会收集必要的安全日志信息，包括访问时间、操作记录等，以防范潜在的安全风险和异常行为。</p>

            <h3>2.2 信息使用目的</h3>
            <p>我们收集的信息将用于以下具体目的：</p>
            <p>首先，这些信息是提供基础服务所必需的。我们需要通过这些信息验证您的身份，处理您的注册申请，响应您的服务请求，处理您的订单和支付等基本业务流程。其次，这些信息帮助我们不断改进服务质量。通过分析服务使用数据，我们可以了解用户需求，优化接口性能，提升服务稳定性。</p>
            
            <p>在安全防护方面，这些信息帮助我们识别和预防潜在的风险，如检测异常调用行为，防范恶意攻击，保护平台和用户的安全。我们也会使用这些信息来提供个性化的服务体验，如根据您的使用习惯推荐相关服务，提供定制化的技术支持等。</p>
            
            <p>此外，这些信息也用于履行我们的法律义务，如按照法律法规的要求保存必要的记录，配合相关部门的合法调查等。我们也会通过这些信息向您发送重要的服务通知，如服务更新提醒、安全警告、账单信息等。</p>

            <h3>2.3 信息使用规则</h3>
            <p>在使用您的信息时，我们严格遵循以下规则：</p>
            <p>第一，合法合规原则。我们承诺严格遵守相关法律法规的规定，依法收集和使用您的信息。所有的信息收集和使用行为都会事先征得您的同意，并确保使用目的的正当性。</p>
            
            <p>第二，目的限制原则。我们只会将收集的信息用于已明确告知您的目的。如需将信息用于其他目的，我们会事先征得您的同意。我们承诺不会将您的信息用于未经授权的目的，也不会在未经您同意的情况下扩大信息使用的范围。</p>
            
            <p>第三，最小必要原则。我们坚持只收集实现服务所必需的最少信息。在信息处理过程中，我们会严格控制信息使用的范围和人员访问权限，确保信息仅被用于必要的业务环节。</p>
            
            <p>第四，安全保护原则。我们采用业界领先的技术手段和管理措施保护您的信息安全。我们建立了完善的信息安全管理体系，实施严格的数据访问控制，定期进行安全评估和审计，确保您的信息不会被未经授权的访问、使用或泄露。</p>
            
            <p>第五，透明公开原则。我们承诺以清晰、易懂的方式向您说明信息收集和使用的情况。您可以通过本隐私政策了解我们的信息处理规则，也可以通过我们提供的各种渠道查询、更正或删除您的信息。</p>`
        },
        {
          title: '3. 信息共享与披露',
          content: `
            <h3>3.1 信息共享的情形</h3>
            <p><strong>（1）获得您的明确同意的情况</strong></p>
            <p>我们深知您的信息对您的重要性，因此我们承诺在共享您的个人信息之前，会事先获得您的明确同意。我们会清晰地向您告知共享的信息类型、接收方的身份和用途、可能产生的结果等重要信息，并在获得您的明确授权后才进行信息共享。如果信息接收方需要改变信息的使用目的，将重新征得您的同意。</p>

            <p><strong>（2）与授权合作伙伴的共享</strong></p>
            <p>为了向您提供更完善的服务，我们可能需要与一些授权合作伙伴共享必要的信息。这些合作伙伴包括：</p>
            <p>云服务提供商：我们可能使用云服务来存储和处理数据。我们会审慎选择具有良好信誉和强大技术实力的云服务提供商，确保其具备足够的数据保护能力。我们与云服务提供商签订严格的数据保护协议，要求其仅在提供服务所必需的范围内处理数据。</p>
            <p>支付服务提供商：当您使用支付功能时，我们需要与支付服务提供商共享必要的支付信息。这些信息仅用于完成支付流程，我们要求支付服务提供商采取严格的安全措施保护您的支付信息。</p>
            <p>数据分析服务商：为了改进我们的服务，我们可能委托专业的数据分析服务商对使用数据进行分析。在这种情况下，我们只会共享去标识化后的数据，并要求数据分析服务商遵守严格的保密义务。</p>
            <p>技术服务提供商：在提供技术支持、系统维护等服务时，我们可能需要与技术服务提供商共享必要的技术数据。我们会严格限制其访问权限，并要求其遵守相应的保密义务。</p>

            <p><strong>（3）法律要求的披露</strong></p>
            <p>在某些特殊情况下，我们可能需要根据法律法规的要求披露您的信息：</p>
            <p>响应法律程序：当我们收到法院命令、传票或其他法律程序文件时，我们可能需要披露相关信息。在这种情况下，我们会仔细审查相关法律文件的合法性和必要性，并在法律允许的范围内通知您。</p>
            <p>保护合法权益：当我们发现可能存在违法违规行为时，我们可能需要披露相关信息以维护平台和用户的合法权益。这包括调查欺诈行为、防范安全威胁、处理违约行为等情况。</p>
            <p>遵守监管要求：根据相关法律法规的要求，我们可能需要向监管机构报告某些信息。在这种情况下，我们会严格遵守相关规定，仅披露必要的信息。</p>

            <h3>3.2 信息共享的原则</h3>
            <p>在进行信息共享时，我们始终坚持以下原则：</p>
            <p>最小必要原则：我们只共享实现特定目的所必需的最小范围的信息。对于不必要的信息，我们不会进行共享。我们会定期评估信息共享的必要性，及时调整共享的范围和方式。</p>
            <p>安全保障原则：我们要求信息接收方具备足够的数据保护能力，采取必要的安全措施保护所接收的信息。我们会与接收方签订数据保护协议，明确规定其保护义务和责任。</p>
            <p>监督管理原则：我们建立了完善的管理制度，对信息共享活动进行全程监督。我们会定期对接收方的信息处理情况进行审查，确保其遵守相关规定和承诺。如发现问题，我们会要求其立即整改或终止合作。</p>

            <h3>3.3 跨境传输</h3>
            <p>在进行跨境数据传输时，我们采取以下措施：</p>
            <p>合规性评估：我们会严格评估跨境传输的必要性和合法性，确保传输符合相关法律法规的要求。我们会特别关注数据接收方所在地的数据保护法律，评估是否能够提供充分的保护。</p>
            <p>告知与授权：在进行跨境传输前，我们会明确告知您数据传输的目的、接收方、接收方所在地、安全保障措施等信息，并获得您的明确同意。</p>
            <p>安全保障措施：我们采用加密传输、访问控制等技术手段确保传输过程的安全。我们与境外接收方签订严格的数据保护协议，要求其提供不低于中国法律要求的保护水平。</p>
            <p>持续监督：我们会持续监督跨境传输的情况，定期评估安全风险，及时发现和处理可能存在的问题。如发现风险，我们会立即采取措施，必要时终止数据传输。</p>`
        },
        {
          title: '4. 信息安全保护',
          content: `
            <h3>4.1 安全措施</h3>
            <p><strong>（1）技术措施</strong></p>
            <p>数据传输安全：我们采用业界领先的SSL/TLS加密技术保护数据传输安全。所有的API调用都通过HTTPS协议进行，确保数据在传输过程中不会被窃取或篡改。我们定期更新加密算法和协议版本，确保加密强度符合最新的安全标准。</p>
            <p>访问控制：我们实施严格的身份认证和授权机制。所有的API访问都需要通过密钥认证，我们支持多种认证方式，包括API密钥、OAuth2.0等。我们还提供IP白名单、调用频率限制等多层次的访问控制机制。</p>
            <p>数据存储：对于存储的数据，我们采用多重加密保护。敏感信息（如密码）经过不可逆加密后存储，其他重要数据采用强加密算法保护。我们实施严格的数据分级存储策略，不同安全级别的数据采用不同的保护措施。</p>
            <p>安全监控：我们建立了全方位的安全监控体系，包括实时流量监控、异常行为检测、入侵检测等。我们的安全团队24小时监控系统运行状态，及时发现和处理安全威胁。</p>

            <p><strong>（2）管理措施</strong></p>
            <p>制度建设：我们建立了完善的信息安全管理制度，涵盖数据分类、访问控制、加密管理、应急响应等各个方面。这些制度明确规定了信息安全的责任人、工作流程和考核标准。</p>
            <p>人员管理：我们对所有能接触到用户数据的员工进行严格的背景审查和安全培训。员工需要签署保密协议，明确保密义务和违约责任。我们实施最小权限原则，员工只能访问工作所需的最小范围的数据。</p>
            <p>安全审计：我们定期进行内部安全审计和第三方安全评估。审计内容包括技术措施有效性、管理制度执行情况、人员操作规范性等。我们及时整改发现的问题，不断完善安全保护措施。</p>

            <p><strong>（3）应急响应</strong></p>
            <p>应急预案：我们制定了详细的安全事件应急预案，明确了不同类型安全事件的响应流程和处置方案。预案包括事件分级标准、响应时限要求、处置步骤、恢复措施等内容。</p>
            <p>快速响应：我们建立了专门的安全应急响应团队，配备必要的技术工具和通信设备。发生安全事件时，团队能够快速响应，及时采取措施控制事态发展，降低损失。</p>
            <p>事后处理：安全事件处置后，我们会进行全面的事件分析，查找问题根源，完善防护措施。我们会如实记录事件处理过程，总结经验教训，持续改进安全保护能力。</p>

            <h3>4.2 安全建议</h3>
            <p>为了更好地保护您的信息安全，我们建议您：</p>
            <p>账户安全：请使用强密码（包含大小写字母、数字和特殊字符），定期更改密码，不要与其他网站使用相同的密码。妥善保管您的API密钥，不要泄露给他人。启用双因素认证等额外的安全保护措施。</p>
            <p>使用安全：在调用API时使用HTTPS协议，验证服务器证书的有效性。合理设置API调用频率，避免因频繁调用触发安全限制。及时更新您使用的SDK和客户端程序，修复已知的安全漏洞。</p>
            <p>环境安全：确保您的开发和运行环境的安全，包括及时更新操作系统和软件补丁，使用防病毒软件，配置防火墙等。妥善保管包含密钥或敏感信息的配置文件，避免泄露。</p>`
        },
        {
          title: '5. 您的权利',
          content: `
            <h3>5.1 信息权利</h3>
            <p><strong>（1）访问权</strong></p>
            <p>您有权访问您的个人信息。这包括：查询我们持有的您的个人信息；了解我们如何处理您的个人信息；获取您的个人信息副本。我们提供多种方式供您行使这项权利：通过账户设置页面直接查看和导出数据；通过API接口程序化地访问数据；通过客服人员协助获取数据。</p>
            <p>在您提出访问请求时，我们会验证您的身份，确保信息安全。对于复杂或大量的访问请求，我们可能需要合理的时间和费用来处理。如果您的请求可能影响他人的隐私或商业秘密，我们可能无法完全满足您的请求，但会向您说明原因。</p>

            <p><strong>（2）更正权</strong></p>
            <p>您有权更正您的个人信息。当您发现我们持有的关于您的个人信息不准确或不完整时，您可以要求我们进行更正或补充。我们提供以下更正方式：通过账户设置页面直接修改基本信息；通过提交工单申请更正其他信息；通过客服人员协助进行更正。</p>
            <p>在进行信息更正时，我们可能需要您提供相关证明材料。为了确保信息的准确性，我们会对更正请求进行审核。如果我们有合理理由认为更正请求不当，我们可能会拒绝请求，但会向您说明原因。</p>

            <p><strong>（3）删除权</strong></p>
            <p>在以下情况下，您可以要求我们删除您的个人信息：</p>
            <p>处理目的已实现：当收集信息的目的已经实现，或者信息对于实现目的已不再必要时，您可以要求我们删除相关信息。例如，当您注销账户时，我们会根据您的要求删除不必要的个人信息。</p>
            <p>同意撤回：如果我们是基于您的同意处理个人信息，当您撤回同意时，您可以要求我们删除相关信息。我们会尊重您的选择，及时删除相关数据。</p>
            <p>违规处理：如果我们违反法律法规或双方约定处理您的个人信息，您有权要求我们删除。我们会立即停止违规行为，删除相关数据。</p>
            <p>请注意，在某些情况下，我们可能无法立即删除全部信息。例如，为了履行法律义务，我们可能需要保留某些必要的信息；为了解决争议，我们可能需要保留相关的证据信息。在这些情况下，我们会向您说明原因，并在法律允许的最短时间后删除这些信息。</p>

            <p><strong>（4）撤回同意权</strong></p>
            <p>对于基于您同意而进行的信息处理活动，您有权随时撤回您的同意。撤回同意后，我们将停止相关的信息处理活动。但请注意，您撤回同意的决定不会影响此前基于您的同意已进行的信息处理。</p>
            <p>我们提供多种渠道供您撤回同意：通过账户设置页面管理隐私选项；通过取消订阅链接退出营销信息；通过客服渠道提交撤回请求。在某些情况下，撤回同意可能会导致某些服务无法继续提供，我们会事先告知您这些后果。</p>

            <h3>5.2 权利行使</h3>
            <p>为了便于您行使上述权利，我们提供了多种途径：</p>
            <p>自助服务：我们在平台上提供了用户中心，您可以通过账户设置页面自主管理您的个人信息，包括查看、更正、删除信息，管理隐私设置等。我们会不断完善自助服务功能，使您能够更方便地控制您的信息。</p>
            <p>在线客服：您可以通过在线客服系统提交请求。我们的客服人员经过专门培训，能够帮助您行使个人信息权利。对于复杂的请求，我们的专业团队会进行处理。</p>
            <p>电子邮件：您可以通过发送邮件至 support@etnor.xyz 提出请求。请在邮件中说明您的具体请求和必要的身份信息，我们会在验证您的身份后处理您的请求。</p>
            <p>我们承诺在收到您的请求后30天内响应。如果请求比较复杂，我们可能需要更长的处理时间，但会事先告知您。如果我们无法响应您的请求，我们会向您详细说明原因，并告知您可以采取的其他途径。</p>`
        }
      ]
    }
  },

  methods: {
    scrollToSection(index) {
      this.currentSection = index;
      const element = document.getElementById(`section-${index}`);
      if (element) {
        element.scrollIntoView({ behavior: 'smooth' });
      }
    },

    async downloadPDF() {
      const element = document.querySelector('.content-main');
      const opt = {
        margin: [20, 20, 20, 20],
        filename: 'privacy-policy.pdf',
        image: { type: 'jpeg', quality: 0.98 },
        html2canvas: { scale: 2 },
        jsPDF: { unit: 'mm', format: 'a4', orientation: 'portrait' }
      };
      
      try {
        this.$message.info('正在生成PDF，请稍候...');
        await html2pdf().set(opt).from(element).save();
        this.$message.success('PDF下载成功');
      } catch (error) {
        console.error('PDF生成失败:', error);
        this.$message.error('PDF生成失败，请重试');
      }
    },

    printPolicy() {
      window.print();
    }
  },

  mounted() {
    document.title = 'E特尔诺-隐私政策';
    
    // 监听滚动以更新当前章节
    const observer = new IntersectionObserver((entries) => {
      entries.forEach(entry => {
        if (entry.isIntersecting) {
          const sectionId = entry.target.id;
          this.currentSection = parseInt(sectionId.split('-')[1]);
        }
      });
    }, { threshold: 0.5 });

    // 等待DOM更新后再添加观察者
    this.$nextTick(() => {
      this.sections.forEach((_, index) => {
        const element = document.getElementById(`section-${index}`);
        if (element) {
          observer.observe(element);
        }
      });
    });
  },

  beforeDestroy() {
    // 清理观察者
    if (this.observer) {
      this.observer.disconnect();
    }
  }
}
</script>

<style scoped>
/* 在最前面添加这些全局重置样式 */
ul, li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.policy-page {
  min-height: 100vh;
  background: #f8f9fa;
}

/* 顶部横幅样式 */
.policy-banner {
  background: linear-gradient(135deg, #1a237e 0%, #0d47a1 100%);
  color: white;
  padding: 4rem 2rem;
  position: relative;
  overflow: hidden;
}

.banner-content {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.banner-content h1 {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.banner-decoration {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 50%;
  overflow: hidden;
}

.decoration-circle {
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  top: -150px;
  right: -150px;
}

.decoration-line {
  position: absolute;
  width: 100%;
  height: 2px;
  background: rgba(255, 255, 255, 0.1);
  transform: rotate(-45deg);
  top: 50%;
}

/* 主要内容样式 */
.policy-content {
  max-width: 1200px;
  margin: -50px auto 0;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: 250px 1fr 250px;
  gap: 2rem;
  position: relative;
}

/* 导航栏样式 */
.content-nav {
  background: white;
  border-radius: 12px;
  padding: 1.5rem;
  position: sticky;
  top: 2rem;
  height: fit-content;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.nav-item {
  padding: 0.75rem 1rem;
  margin: 0.5rem 0;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.nav-item:hover {
  background: rgba(26, 35, 126, 0.05);
  color: #1a237e;
}

.nav-item.active {
  background: #1a237e;
  color: white;
}

/* 主要内容区域样式 */
.content-main {
  background: white;
  border-radius: 12px;
  padding: 2rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.content-section {
  margin-bottom: 3rem;
}

.content-section h2 {
  text-align: center;
  margin: 2rem 0;
  color: #1a237e;
  font-size: 1.8rem;
}

.content-section h3 {
  text-align: center;
  color: #1a237e;
  margin: 1.5rem 0;
  font-size: 1.5rem;
}

.section-content {
  color: #333;
  line-height: 1.6;
}

.section-content p {
  text-align: left;
  text-indent: 2em;
  margin: 1.2rem 0;
  line-height: 1.8;
  color: #333;
}

.section-content ul {
  margin: 1rem 0 !important;
  padding-left: 2em !important;
  list-style: none !important;
}

.section-content li {
  text-align: left;
  margin: 0.75rem 0 !important;
  padding-left: 0 !important;
  line-height: 1.8 !important;
  text-indent: 2em;
}

.section-content strong {
  color: #1a237e;
  font-weight: 500;
}

/* 侧边栏样式 */
.content-sidebar {
  position: sticky;
  top: 2rem;
  height: fit-content;
}

.quick-actions {
  background: white;
  border-radius: 12px;
  padding: 1.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.quick-actions button {
  width: 100%;
  padding: 0.75rem;
  margin: 0.5rem 0;
  border: none;
  border-radius: 8px;
  background: #1a237e;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: all 0.3s ease;
  font-size: 1rem;
}

.quick-actions button:hover {
  background: #0d47a1;
  transform: translateY(-2px);
}

.quick-actions button:active {
  transform: translateY(0);
}

.quick-actions button[disabled] {
  background: #ccc;
  cursor: not-allowed;
}

.last-update {
  background: white;
  border-radius: 12px;
  padding: 1.5rem;
  color: #666;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* 响应式调整 */
@media (max-width: 1200px) {
  .policy-content {
    grid-template-columns: 200px 1fr;
  }
  
  .content-sidebar {
    display: none;
  }
}

@media (max-width: 768px) {
  .policy-content {
    grid-template-columns: 1fr;
    padding: 1rem;
  }
  
  .content-nav {
    display: none;
  }
  
  .banner-content h1 {
    font-size: 2rem;
  }
}

/* 打印样式 */
@media print {
  .policy-banner,
  .content-nav,
  .content-sidebar,
  .quick-actions {
    display: none !important;
  }

  .policy-content {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .content-main {
    width: 100% !important;
    max-width: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .content-section {
    page-break-inside: avoid;
    margin: 0 !important;
    padding: 0 !important;
  }

  .content-section h2,
  .content-section h3 {
    page-break-after: avoid;
  }

  .section-content p {
    page-break-inside: avoid;
  }
}
</style> 